/**
 * 静态数据公共方法
 */

export default {
    methods: {
        /**
         * 初始化静态数据
         * @param series
         * @returns {*}
         */
        initStaticSeries(series){
            for (let i = 0; i < series.length; i++) {
                let obj = series[i];
                if(obj.type=="bar"){
                    this.initBarData(obj);
                }else if(obj.type=="line"){
                    this.initLineData(obj);
                }
            }
            return series;
        },
        /**
         * 柱状图
         * @param obj
         */
        initBarData(obj){
            //柱形宽度
            if (this.config.styles.barConfig && this.config.styles.barConfig.barWidth) {
                if (this.config.styles.barConfig.widthSuffix == 'px') {
                    obj.barWidth = this.config.styles.barConfig.barWidth;
                } else {
                    obj.barWidth = this.config.styles.barConfig.barWidth + '%';
                }
            }
            //柱状图圆角
            if (this.config.styles.barConfig && this.config.styles.barConfig.radius) {
                let numberList = this.filletedCorner(this.config.styles.barConfig.radius)
                let itemStyle = {
                    normal: {
                        barBorderRadius: numberList
                    }
                }
                obj['itemStyle']=itemStyle;
            }
            //是否展示顶部信息
            if (this.config.styles.barConfig && this.config.styles.barConfig.showData) {
                obj.label={
                    show: this.config.styles.barConfig.showData,
                    position: 'top',
                    color: this.config.styles.barConfig.fontColor
                };
            }
            //获取预警线数据和样式
            let markLine = {
                type: 'bar',
                silent: true, //基线显示 隐藏
                symbol: 'none', // 不显示箭头和圆点
                data: this.markLine(obj.data),//获取属性样式
            }
            obj['markLine'] = markLine
        },
        /**
         * 折线图静态数据
         * @param obj
         */
        initLineData(obj){
            if(this.config.styles.lineConfig.size){
                obj.symbolSize = this.config.styles.lineConfig.size
            }
            if(this.config.styles.lineConfig.type){
                obj.symbol = this.config.styles.lineConfig.type
            }
            //平滑曲线
            obj.symbolSize = this.config.styles.lineConfig.lineConfig || false;
            obj.itemStyle={
                normal: {
                    lineStyle:{
                        width:this.config.styles.lineConfig.width || 1,
                    }
                }
            }
            //获取预警线数据和样式
            let markLine = {
                type: 'line',
                silent: true, //基线显示 隐藏
                symbol: 'none', // 不显示箭头和圆点
                data:this.markLine(obj.data),//获取属性样式
            }
            obj['markLine'] = markLine;
        }
    }
}
